const express = require("express");
const path = require("path");
const bodyParser = require("body-parser");
const fs = require("fs");
let app = express();
// 使用中间件
app.use(bodyParser.urlencoded({extended:false}));
app.get("/",(req,res)=>{
    // 加载视图
    res.sendFile(path.join(__dirname,"./views/index.html"));
})


// 接收post过来的数据
app.post("/addUser",(req,res)=>{
    console.log(req.body);  // body属性是 bodyparser第三方中间件的功能
    if(!fs.existsSync("./data")){  // 判断是否存在data目录，如果不存在就创建一个data目录
        fs.mkdirSync("./data"); // 创建data目录
    }
    if(!fs.existsSync("./data/users.json")){ // 判断data目录下，如果没有data.json文件，就创建一个data.json文件，里面的内容是空数组字符串
        fs.writeFileSync("./data/users.json",JSON.stringify([]));
    }

    // 读取users.json里的内容
    let oldUsers = JSON.parse( fs.readFileSync("./data/users.json"));
    // 把post过来的数据添加到读取到的数据里
    oldUsers.push(req.body);
    // 重新写入到 users.json文件里
    fs.writeFileSync("./data/users.json",JSON.stringify(oldUsers));
    // res.send("接收了数据");
    // 添加成功之后跳转到/showUsers路由里去；
    res.redirect("/showUsers");
})

// 显示用户
app.get("/showUsers",(req,res)=>{
    let users = JSON.parse( fs.readFileSync("./data/users.json"));
    let htmlStr = "<ul>";
    users.forEach(item=>{
        htmlStr += `<li>用户名是：${item.username}，年龄是${item.age},性别是:${item.gender}</li>`;
    })
    htmlStr += "</ul>";
    res.send(htmlStr);
})


app.listen(8989);